[Gather.town]参加者全員に祝福してもらう方法
- t_o_dと申します。
- 円滑なリモートコミュニケーションの促進の一環としてGather.townを利用しています。
- Gather.townは基本機能以外の仕掛けが沢山ありますが、その中の1つがブラウザコンソールで扱えるSocket APIの存在です。
- 「現在位置の取得」や「参加者情報の取得」など豊富に存在しており、それらを適切に組み合わせることで色々な操作を行うことが可能です。
- 今回はその中から参加者全員に祝福してもらう方法を記録いたします。
結果
- 以下の数行をChromeコンソール画面に入力して実行するだけで、参加者全員に祝福してもらうことができます。
- ※実行には権限が必要です。
game.playerUidsSeenOnConnect.forEach(async p => { game.setEmote("?",p); await new Promise(r => setTimeout(r,3000)); game.setEmote("",p) })
- 実行後、参加者全員の上にクラッカーリアクションがついていれば成功です。
内容
- 上記のスクリプトは以下のGather.townで用意されているSocket APIを利用しています。
- game.playerUidsSeenOnConnect : 参加している人のID一覧。Setオブジェクトで取得されます。
- game.setEmote(対象絵文字,対象者ID) : 対象者のリアクション設定。対象の絵文字を設定することで可能。
- つまり「参加者一覧」を取得してループで回して逐次リアクション設定を行うというスクリプトとなっております。
- ※setEmote関数でリミットを設定する方法が不明だったので、setTimeoutで指定秒後に空にする処理を入れています。
補足
- 他の操作の情報はこちらのサイトから確認できます。
- より詳細な情報を知るためには、以下のようにコンソール画面で「game」「gameSpace」を入力して実行すれば確認できます。
まとめ
- この一括リアクション機能を利用すれば視覚的にも精神的にも両方楽しめて、よりリモートコミュニケーションが捗ると感じました。
- 今回扱った機能以外にも豊富なメソッドやプロパティがあるので、適切に組み合わせて節度ある利用を行おうと思います。
参考
アノテーション株式会社について
アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。